#carousel-example-generic{
  min-width:1200px;
}
.carousel-control {
  display: none;
}
.carousel-inner{
  .item{
    width: 100%;
    height: 100%;
      img{
        width: 100%;
      }
  }
}
.carousel-indicators {
  position: absolute;
  z-index: 15;
  display: flex;
  align-items: center;
  width: 160px;

  right: calc((100% - 960px)/2);
  left: initial;
  margin: 0;

  li {
    width: 30px;
    height: 5px;
    background: lightgray;
    border: none;
    margin-right: 10px;
    position: relative;

    &::before {
      width: 0;
      content: '';
      position: absolute;
      left: 0;
      height: 100%;
      background: #90c31f;
      animation: 0;
      border-radius: 2.5px;
    }

    &.active {
      width: 66px;

      &:not(:hover)::before {
        width: 100%;
        animation:change-width 5s linear;
      }
    }
  }
}

@keyframes change-width {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}

.carousel:hover .carousel-indicators li.active::before {
  animation-play-state: paused;
  width: 0;
  animation: 0;
}
